rails 无法创建对象
rails cant create an object
所以我正在制作一个调色板管理器,并且表单上请求的两个表都是嵌套的并且正确相关(我还想指出我是 rails 的新手)
当第 4 行请求链接而不仅仅是名称时,整个代码工作得很好,但突然就不再工作了,提前感谢您的帮助
<div class='nav_bar'>#</div>
<% if @projects %>
<% @projects.each do |project| %>
<li><div class='container'><h1><%= project.name project_path(:id => project.id) %></h1>
<ul>
<%= form_for project do %>
<%= fields_for :palette, project.palette do |palette| %>
<%= palette.label 'background_dark_color' %>:
<%= palette.text_field :background_dark_color, placeholder: '@palette.background_dark_color' %><br/>
<%= palette.label 'background_light_color' %>:
<%= palette.text_field :background_light_color, placeholder: "@palette.background_light_color" %><br/>
<%= palette.label 'dark_color1' %>:
<%= palette.text_field :dark_color1, placeholder: "@palette.dark_color1" %><br/>
<%= palette.label 'dark_color2' %>:
<%= palette.text_field :dark_color2, placeholder: "@palette.dark_color2" %><br/>
<%= palette.label 'light_color1' %>:
<%= palette.text_field :light_color1, placeholder: "@palette.light_color1" %><br/>
<%= palette.label 'light_color2' %>:
<%= palette.text_field :light_color2, placeholder: "@palette.light_color2" %><br/>
<%= palette.submit %>
<%= link_to 'Destroy', project, method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>
</div>
</ul>
<% end %></li>
<%end%>
<%end%>
<div class='circle'><%= link_to "+", new_project_path %></div>
<button type="button"><%= link_to "+", new_project_path %></button>
我想你指的是下面一行,
<%= project.name project_path(:id => project.id) %>
这段代码有错误。有两种方法可以解决这个问题。
解决方案 1
如果你想显示一个 link 或锚标记,用下面的代码替换它,
<%= link_to project.name, project_path(:id => project.id) %>
解决方案 2
如果您不想要 link 但只想显示名称,请执行以下操作,
<%= project.name %>
所以我正在制作一个调色板管理器,并且表单上请求的两个表都是嵌套的并且正确相关(我还想指出我是 rails 的新手)
当第 4 行请求链接而不仅仅是名称时,整个代码工作得很好,但突然就不再工作了,提前感谢您的帮助
<div class='nav_bar'>#</div>
<% if @projects %>
<% @projects.each do |project| %>
<li><div class='container'><h1><%= project.name project_path(:id => project.id) %></h1>
<ul>
<%= form_for project do %>
<%= fields_for :palette, project.palette do |palette| %>
<%= palette.label 'background_dark_color' %>:
<%= palette.text_field :background_dark_color, placeholder: '@palette.background_dark_color' %><br/>
<%= palette.label 'background_light_color' %>:
<%= palette.text_field :background_light_color, placeholder: "@palette.background_light_color" %><br/>
<%= palette.label 'dark_color1' %>:
<%= palette.text_field :dark_color1, placeholder: "@palette.dark_color1" %><br/>
<%= palette.label 'dark_color2' %>:
<%= palette.text_field :dark_color2, placeholder: "@palette.dark_color2" %><br/>
<%= palette.label 'light_color1' %>:
<%= palette.text_field :light_color1, placeholder: "@palette.light_color1" %><br/>
<%= palette.label 'light_color2' %>:
<%= palette.text_field :light_color2, placeholder: "@palette.light_color2" %><br/>
<%= palette.submit %>
<%= link_to 'Destroy', project, method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %>
</div>
</ul>
<% end %></li>
<%end%>
<%end%>
<div class='circle'><%= link_to "+", new_project_path %></div>
<button type="button"><%= link_to "+", new_project_path %></button>
我想你指的是下面一行,
<%= project.name project_path(:id => project.id) %>
这段代码有错误。有两种方法可以解决这个问题。
解决方案 1
如果你想显示一个 link 或锚标记,用下面的代码替换它,
<%= link_to project.name, project_path(:id => project.id) %>
解决方案 2
如果您不想要 link 但只想显示名称,请执行以下操作,
<%= project.name %>