【问题标题】:undefined method and attr_accessor未定义的方法和 attr_accessor
【发布时间】:2017-06-17 20:37:13
【问题描述】:

我想从不在我的模型中的输入中收集数据。所以,我尝试使用“attr_accessor”,但它不起作用,我不知道为什么...... 我的控制器中有一行:

attr_accessor :nbr_blocs

我的表单中只有几个部分(用 simpleform 制作):

<%= simple_form_for @newsletter, method: "post", url: (gestion_newsletters_assist_step2_send_path) do |f| %>
[...]
<%= f.input :"nbr_blocs", :as => :integer, :input_html => { :maxlength => 2 } %>
[...]
<% end %>

我的错误是:“未定义的方法`nbr_blocs'

我能做什么? 感谢您的帮助。

【问题讨论】:

  • 欢迎来到 Stack Overflow,我知道您是 SO 新手。如果答案解决了您的问题,请将其标记为已接受。它有助于提供反馈、标记其他搜索相同问题的人等。

标签: ruby-on-rails ruby ruby-on-rails-4 attr-accessor


【解决方案1】:

来自 SimpleForm docs

#input(attribute_name, options = {}, &amp;block) ⇒ Object

所以,:nbr_blocs 必须是来自@newsletter 的属性,而不是控制器访问器。我想您可以将simple_fields_for 用于您的模型中没有的输入,但我不确定:

<%= simple_form_for @newsletter do |f| %>
  <%= f.input :attribute %>

  <%= simple_fields_for :not_model do |n| %>
    <%= n.input :nbr_blocs %>
  <% end %>
<% end %>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-19
    • 2013-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    相关资源
    最近更新 更多