我想在rjs
中使用输入标记的值要做:
<%= button_to_function "add tag" do |page|
page.insert_html :bottom, :selected_tags, :partial => 'tag', :object => Tag.new(:name => "#{page[:tag_name].value}" )
end %>
但它会发出警告:
RJS error:
TypeError: $("tag_name").value is not a function
有没有办法使用rjs语法来读取标记元素的值?
答案 0 :(得分:2)
等一下:
<%= button_to_function "add tag" do |page|
page.insert_html :bottom, :selected_tags, :partial => 'tag', :object => Tag.new(:name => "#{page[:tag_name].value}" )
end %>
button_to_function和page.insert_html在页面被渲染(对象创建,渲染等)时发生。当用户单击按钮时,只会发生实际的INSERT。
我建议你:
干杯 雷托
答案 1 :(得分:1)
@reto是对的,你必须区分客户端和服务器端。 link_to_button
块中生成的JS将在客户端执行,但部分在服务器上呈现,因此您的代码无法正常工作。
提出的link_to_remove
选项很容易实现,但可以改进,因为您将连接服务器以获取呈现视图时已知的内容。不要害怕JavaScript和:
有许多方法可以实现这一点,稍微用它来解决它。